<!DOCTYPE html>
<html lang="zh-CN">
    <head>
  <!-- 元数据 -->
  <meta charset="utf-8">
  <link rel="icon" href="">
  <title>OS第一章 | ALgarth's blog</title>
  <meta name="author" content="ALgarth" />
  <meta http-equiv="Cache-Control" content="no-transform" />
  <meta http-equiv="Cache-Control" content="no-siteapp" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="robots" content="index,follow" />
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
  <meta name="format-detection" content="telphone=no, email=no" />
  
    <meta name="keywords" content="OS" />
  
  <meta name="description" content="第一章：操作系统概述  操作系统 操作系统会被加载到RAM内  定义：  一组能有效的组织和管理计算机硬件和软件资源，合理的对各类作业进行调度，以及方便用户使用的程序的集合   目标：  （重要目标）1. 方便性：允许用户使用高级指令而非机器指令  （重要目标）2. 有效性：提高资源利用率和系统吞吐率  \3. 可扩充性：核内的微核结构可以方便的增加新功能和新模块  \4. 开放性：遵循国际标准">
<meta property="og:type" content="article">
<meta property="og:title" content="OS第一章">
<meta property="og:url" content="http://algarth.github.io/2021/10/30/OS/index.html">
<meta property="og:site_name" content="ALgarth&#39;s blog">
<meta property="og:description" content="第一章：操作系统概述  操作系统 操作系统会被加载到RAM内  定义：  一组能有效的组织和管理计算机硬件和软件资源，合理的对各类作业进行调度，以及方便用户使用的程序的集合   目标：  （重要目标）1. 方便性：允许用户使用高级指令而非机器指令  （重要目标）2. 有效性：提高资源利用率和系统吞吐率  \3. 可扩充性：核内的微核结构可以方便的增加新功能和新模块  \4. 开放性：遵循国际标准">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="http://algarth.github.io/null">
<meta property="article:published_time" content="2021-10-30T07:11:48.000Z">
<meta property="article:modified_time" content="2021-10-30T07:12:27.707Z">
<meta property="article:author" content="ALgarth">
<meta property="article:tag" content="OS">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="http://algarth.github.io/null">
<meta name="twitter:site" content="@null">
  
  <!-- 站点验证相关 -->
  
    
    
    
  
  <!-- 样式表文件 -->
  <link rel="stylesheet" id="kratos-css" href="/css/kratosr.min.css" type="text/css" media="all">
  <link rel="stylesheet" id="highlight-css" href="/css/highlight.min.css" type="text/css" media="all">
  <link rel="stylesheet" id="fontawe-css" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css" type="text/css" media="all">
  <link rel="stylesheet" id="nprogress-css" href="https://cdn.jsdelivr.net/npm/nprogress@0.2.0/nprogress.min.css" type="text/css" media="all">
  
  
  
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css">
  
  
    <link rel="stylesheet" id="darkmode-css" href="/css/kr-dark.min.css" type="text/css" media="all">
  
  <!-- 不得不预先加载的一些JS文件 -->
  <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js"></script>
  
    <script src="https://cdn.jsdelivr.net/npm/qrcode_js@1.0.0/qrcode.min.js"></script>
  
  
<meta name="generator" content="Hexo 5.2.0"><link rel="alternate" href="/atom.xml" title="ALgarth's blog" type="application/atom+xml">
</head>


    <body class="custom-background">
        <div id="kratos-wrapper">
    <div id="kratos-page">
        <div id="kratos-header">
            <div class="nav-toggle"><a class="kratos-nav-toggle js-kratos-nav-toggle"><i></i></a></div>
            <header id="kratos-header-section">
                <div class="container">
                    <div class="nav-header">
                        <div class="color-logo"><a href="/">ALgarth&#39;s blog</a></div>
                        <nav id="kratos-menu-wrap">
                            <ul id="kratos-primary-menu" class="sf-menu">
                                
                                    
                                        <li><a href="/"><i class="fa fa-home"></i>首页</a></li>
                                    
                                
                                    
                                        <li><a href="/archives/"><i class="fa fa-file"></i>档案馆</a></li>
                                    
                                
                                    
                                        <li>
                                            <a><i class="fa fa-link"></i>链接</a>
                                            <ul class="sub-menu">
                                                
                                                    
                                                
                                                    
                                                        <li><a target="_blank" rel="noopener" href="https://blog.csdn.net/algarth">作者博客</a></li>
                                                    
                                                
                                                    
                                                        <li><a target="_blank" rel="noopener" href="https://github.com/ALgarth">项目链接</a></li>
                                                    
                                                
                                            </ul>
                                        </li>
                                    
                                
                            </ul>
                        </nav>
                    </div>
                </div>
            </header>
        </div>
        <div class="kratos-start kratos-hero-2">
            <!-- <div class="kratos-overlay"></div> -->
            <div class="kratos-cover kratos-cover-2 text-center">
                <div class="desc desc2 animate-box">
                    <a href="/">
                        <h2>ALgarth&#39;s blog</h2> <br />
                        <span>欢迎捞到摸鱼仙人的博客呢_(:3」∠)_</span>
                    </a>
                </div>
            </div>
        </div>

        <div id="kratos-blog-post">
            <div class="container">
                <div class="row">
                    
        <div id="main">
            <section class="col-md-8">
    <article>
        <div class="kratos-hentry kratos-post-inner clearfix">
            <header class="kratos-entry-header">
                <h1 class="kratos-entry-title text-center">OS第一章</h1>
                
                <div class="kratos-post-meta text-center">
                    <span>
                        <i class="fa fa-calendar"></i> 2021-10-30
                        <i class="fa fa-folder"></i> 分类于 
                        <i class="fa fa-user"></i> 作者 ALgarth
                        <i class="fa fa-edit"></i> 
                        
                        
                            ~4.01K
                        
                        字
                        
                    </span>
                </div>
            </header>
            <div class="kratos-post-content">
                
                <hr />
                <ul>
<li><p>第一章：操作系统概述</p>
<ul>
<li><p>操作系统</p>
<p>操作系统会被加载到RAM内</p>
<ul>
<li><p>定义：</p>
<ul>
<li>一组能有效的组织和管理计算机硬件和软件资源，合理的对各类作业进行调度，以及方便用户使用的程序的集合</li>
</ul>
</li>
<li><p>目标：</p>
<ul>
<li><p>（重要目标）1. 方便性：允许用户使用高级指令而非机器指令</p>
</li>
<li><p>（重要目标）2. 有效性：提高资源利用率和系统吞吐率</p>
</li>
<li><p>\3. 可扩充性：核内的微核结构可以方便的增加新功能和新模块</p>
</li>
<li><p>\4. 开放性：遵循国际标准osi</p>
</li>
</ul>
</li>
<li><p>作用：</p>
<ul>
<li><p>\1. 作为用户与计算机硬件系统之间的接口（向上）</p>
<ul>
<li><p>命令接口</p>
<ul>
<li><p>联机命令接口</p>
</li>
<li><p>脱机命令接口</p>
</li>
</ul>
</li>
<li><p>程序接口（也称系统调用）：程序中的系统调用是为了请求os为其提供服务</p>
</li>
</ul>
</li>
<li><p>\2. 作为计算机系统资源的管理者（向下）</p>
<ul>
<li><p>处理机：分配和控制处理机</p>
</li>
<li><p>存储器：内存的分配和回收</p>
</li>
<li><p>io设备管理：负责io设备的分配与操纵</p>
</li>
<li><p>文件管理：负责文件的存取，共享和保护</p>
</li>
</ul>
</li>
<li><p>\3. 实现了对计算机资源的抽象</p>
</li>
</ul>
</li>
<li><p>推动操作系统发展的动力：</p>
<ul>
<li><p>\1. 不断提高的计算机资源利用率</p>
</li>
<li><p>\2. 方便用户</p>
</li>
<li><p>\3. 器件不断更新换代</p>
</li>
<li><p>\4. 计算机体系结构不断发展</p>
</li>
<li><p>\5. 不断提出新的应用需求</p>
</li>
</ul>
</li>
<li><p>操作系统的基本特征：</p>
<ul>
<li><p>并发（基本特征）</p>
<ul>
<li><p>并发值两个或多个事件在同一个时间间隔内发生（有前后顺序），并行是真正意义的多个事件在一个时间发生</p>
</li>
<li><p>进程：系统中能独立运行并作为资源分配的基本单位，是一组机器指令，数据和堆栈组成的，是一个能独立运行的活动实体</p>
</li>
</ul>
</li>
<li><p>共享（基本特征）</p>
<p>资源共享指系统中的资源可供内存中多个并发执行的进程共同使用</p>
<ul>
<li><p>\1. 互斥访问：只允许一个进程访问资源（这种资源称为临界资源或独占资源）</p>
</li>
<li><p>\2. 同时访问</p>
</li>
</ul>
</li>
<li><p>虚拟：</p>
<ul>
<li><p>时分复用系统</p>
<ul>
<li><p>虚拟处理机技术</p>
</li>
<li><p>虚拟设备技术<br>虚拟一个打印机，使得多个用户都可以搜集到打印机，但是他们的使用是并发的</p>
</li>
</ul>
</li>
<li><p>空分复用系统</p>
<p>让一个小空间可以访问一个大空间的内容，使用某些内容的时候就直接调入</p>
<ul>
<li>虚拟设备的平均速度小于等于物理设备速度，虚拟设备的平均空间也低于物理设备的空间</li>
</ul>
</li>
</ul>
</li>
<li><p>异步</p>
<ul>
<li>进程是以人们不可预知的速度进行推进的</li>
</ul>
</li>
</ul>
</li>
<li><p>操作系统的发展过程</p>
<ul>
<li><p>未配置操作系统的计算机系统：这个阶段的明显缺点是：用户独占全机，CPU等待手工操作</p>
<ul>
<li><p>人工操作方式<br>装入卡带等待计算机运行，缺点有2：用户独占全机，CPU等待人工操作</p>
</li>
<li><p>脱机输入输出方式<br>通过一台外围机进行控制纸袋和磁带之间的输入输出，从而使得输入输出实在脱离主机的状态下进行的优势有2：减少了CPU的空闲时间，提高了io的速度</p>
</li>
</ul>
</li>
<li><p>单道批处理系统：</p>
<ul>
<li><p>增加监督程序使得作业可以一个一个处理</p>
</li>
<li><p>旨在提高系统资源的利用率和系统吞吐量</p>
</li>
<li><p>缺点：系统中的资源得不到有效利用，而且会造成内存的浪费</p>
</li>
<li><p>特征：</p>
<ul>
<li><p>单道性</p>
</li>
<li><p>自动性</p>
</li>
<li><p>顺序性</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p>多道批处理系统</p>
<ul>
<li><p>当一个道上的程序因为进入io操作而停止时，可以切换到另一个道上进行程序运行</p>
</li>
<li><p>批处理最大缺点是无交互能力</p>
</li>
<li><p>优点：资源利用率高，系统吞吐量大</p>
</li>
<li><p>缺点：资源周转时间长，无交互能力</p>
</li>
<li><p>中断技术使得多道批处理的IO设备和CPU并行</p>
</li>
<li><p>为实现多道需要解决的问题：</p>
<ul>
<li><p>处理机争用问题</p>
</li>
<li><p>内存分配和保护问题</p>
</li>
<li><p>io设备的分配问题</p>
</li>
<li><p>文件的组织和管理问题</p>
</li>
<li><p>作业管理问题</p>
</li>
<li><p>用户与系统直接的接口问题</p>
</li>
</ul>
</li>
<li><p>特点：（并无顺序性）</p>
<ul>
<li><p>多道</p>
</li>
<li><p>宏观上并行</p>
</li>
<li><p>微观上串行</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p>分时系统：</p>
<ul>
<li><p>为了满足用户两大需求而产生：</p>
<ul>
<li><p>人机交互</p>
</li>
<li><p>共享主机</p>
</li>
</ul>
</li>
<li><p>关键问题：</p>
<ul>
<li><p>及时接收<br>每有一个用户，就要设置一个路卡，通过多路卡实现多路复用</p>
</li>
<li><p>及时处理</p>
<ul>
<li><p>作业直接进入内存</p>
</li>
<li><p>轮转运行<br>规定一个时间片，每次只能运行一个时间片的时间，运行结束就强制进入下一个作业</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p>特征：</p>
<ul>
<li><p>多路性（同时性）：一台计算机供多个用户使用</p>
</li>
<li><p>独立性</p>
</li>
<li><p>及时性</p>
</li>
<li><p>交互性</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p>实时系统：</p>
<ul>
<li><p>实时系统是指系统能及时相应外部事件的需求，在规定时间内完成对该事件的处理，并控制所有实时任务协调一致的运行</p>
</li>
<li><p>通常采用抢占式的优先级高者优先算法</p>
</li>
<li><p>实时任务的类型:</p>
<ul>
<li><p>周期性任务：外部设备周期性的发出激励信号，要求计算机按照指定的周期循环执行，以便周期性的控制外部设备<br>无论是否是周期性任务，都会含有一个截止时间，它可以是开始截止时间或者最后截止时间</p>
</li>
<li><p>非周期性任务：没有明显的周期性</p>
</li>
<li><p>硬实时任务（HRT）：系统必须满足任务对截止时间的要求，否者会造成难以预测的结果</p>
</li>
<li><p>软实时任务（SRT）：对截止时间要求不严格，偶尔错过了兼职时间，对系统影像也不大</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p>分时系统和实时系统的比较：</p>
<ul>
<li><p>多路性：分时的多路是系统按照分时原则为多个终端用户服务，实时的多路是周期性的从多路进行信息采集</p>
</li>
<li><p>独立性：一致，对象彼此不干扰</p>
</li>
<li><p>及时性：实时系统的精确度更高</p>
</li>
<li><p>交互性：分时系统会提供更多的交互功能，实时是特定功能</p>
</li>
<li><p>可靠性：实时系统要求必须可靠</p>
</li>
</ul>
</li>
<li><p>微机系统：</p>
<ul>
<li><p>单用户单任务：只允许一个用户上机，且只允许用户程序作为一个程序运行</p>
</li>
<li><p>单用户多任务：只允许一个用户上机，但是允许用户把程序分为若干个任务并发执行</p>
</li>
<li><p>多用户多任务：允许多个用户通过各自的中断使用同一台计算机，共享主机系统中的资源，用户程序也可以细分为几个任务并发执行</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p>操作系统的主要功能：</p>
<ul>
<li><p>CPU的管理功能</p>
<ul>
<li><p>对进程的管理，包括进程创建，进程控制，进程同步，进程通信，死锁处理，处理机调度</p>
</li>
<li><p>进程同步最常用的机制是信号量机制</p>
</li>
</ul>
</li>
<li><p>存储器的管理功能：</p>
<ul>
<li><p>\1. 内存分配和回收</p>
<ul>
<li><p>任务：</p>
<ul>
<li><p>为每到程序分配空间</p>
</li>
<li><p>提高存储器利用率</p>
</li>
<li><p>允许正在运行的程序申请附加的内存空间</p>
</li>
</ul>
</li>
<li><p>静态分配方式</p>
</li>
<li><p>动态分配方式</p>
</li>
</ul>
</li>
<li><p>\2. 内存保护</p>
<ul>
<li><p>确保每个用户程序都在自己的内存空间运行，彼此互不干扰</p>
</li>
<li><p>绝不允许用户程序访问操作系统和程序，不允许用户程序转到非共享的用户程序中执行</p>
</li>
<li><p>一种简单的方法是设置界限寄存器，存放上下界防止越界</p>
</li>
</ul>
</li>
<li><p>\3. 地址映射</p>
</li>
<li><p>\4. 内存扩充</p>
<ul>
<li><p>用虚拟存储技术扩展容量</p>
</li>
<li><p>功能：</p>
<ul>
<li><p>请求调入功能</p>
</li>
<li><p>置换功能</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p>设备管理功能</p>
<ul>
<li><p>作用：</p>
<ul>
<li><p>完成用户进程提出的io请求</p>
</li>
<li><p>提高cpu和io设备的利用率</p>
</li>
</ul>
</li>
<li><p>\1. 缓冲管理</p>
</li>
<li><p>\2. 设备管理</p>
<ul>
<li>分配独占设备需要考虑是否安全</li>
</ul>
</li>
<li><p>\3. 设备处理</p>
</li>
</ul>
</li>
<li><p>文件管理功能：</p>
<ul>
<li><p>\1. 文件存储空间管理</p>
</li>
<li><p>\2. 目录管理</p>
</li>
<li><p>\3. 文件的读写管理和保护</p>
</li>
</ul>
</li>
<li><p>操作系统与用户之间的接口</p>
<ul>
<li><p>1 用户接口</p>
<ul>
<li><p>联机用户接口</p>
</li>
<li><p>脱机用户接口</p>
</li>
<li><p>图形用户接口</p>
</li>
</ul>
</li>
<li><p>2 程序接口：为程序提供系统调用，可以提供系统服务<br>为用户程序在执行中访问系统资源而设置的，使用户程序取得操作权限的唯一途径</p>
</li>
</ul>
</li>
<li><p>现代操作系统的新功能：</p>
<ul>
<li><p>系统安全</p>
<ul>
<li><p>认证技术</p>
</li>
<li><p>密码技术</p>
</li>
<li><p>访问控制技术</p>
<ul>
<li><p>设置用户存储权限</p>
</li>
<li><p>通过文件属性保障指定文件的安全性</p>
</li>
</ul>
</li>
<li><p>反病毒技术</p>
</li>
</ul>
</li>
<li><p>网络的功能和服务</p>
<ul>
<li><p>网络通信</p>
</li>
<li><p>资源管理</p>
</li>
<li><p>应用互操作</p>
</li>
</ul>
</li>
<li><p>支持多媒体</p>
<ul>
<li><p>接纳控制功能</p>
</li>
<li><p>实时调度</p>
</li>
<li><p>多媒体文件的存储</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p>额外知识：</p>
<ul>
<li><p>运行机制：</p>
<ul>
<li><p>系统状态：</p>
<p>状态切换是由硬件完成的</p>
<ul>
<li><p>管态（系统态，内核态）：命令解释程序，读时钟，取数，寄存器清零<br>执行特权指令</p>
</li>
<li><p>目态（用户态）：缺页处理程序（中断调用而来），置时钟<br>执行非特权指令</p>
</li>
<li><p>状态切换到管态的场景</p>
<ul>
<li><p>系统调用</p>
</li>
<li><p>发生中断</p>
</li>
<li><p>产生错误状态</p>
</li>
<li><p>执行特权指令（属于访管中断）</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p>时钟管理：使用RR算法轮转</p>
</li>
<li><p>中断机制：保护和恢复现场信息，转移控制权</p>
</li>
<li><p>原语：可调用的底层小程序</p>
<ul>
<li><p>定义原语的方法关中断</p>
</li>
<li><p>可以负责设备驱动，CPU切换，进程通信</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p>中断和异常：</p>
<ul>
<li><p>内中断（异常）</p>
<ul>
<li><p>自愿中断</p>
</li>
<li><p>强迫中断：指令故障，软件中断</p>
</li>
</ul>
</li>
<li><p>外中断：人为干预</p>
</li>
<li><p>中断的步骤：</p>
<ul>
<li><p>关中断</p>
</li>
<li><p>保存断点（硬件自动完成）</p>
</li>
<li><p>寻址</p>
</li>
<li><p>保存现场和屏蔽字（操作系统保存寄存器内容）</p>
</li>
<li><p>开中断</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p>系统调用（也称广义指令）：程序接口提供</p>
<ul>
<li>可以调用：设备管理，文件管理，进程控制，进程通信，内存管理</li>
</ul>
</li>
</ul>
</li>
<li><p>结构设计</p>
<ul>
<li><p>\1. 传统操作系统结构</p>
<ul>
<li><p>无结构OS（整体系统结构）</p>
</li>
<li><p>模块化结构OS（无序模块法）<br>由模块-接口法进行设计的<br>要提高设备的内聚性，减少耦合度</p>
</li>
<li><p>分层式结构OS</p>
<p>自底向上进行铺设，每层的模块存在单向依赖，高层依赖底层</p>
<ul>
<li><p>优点：易保证正确性；易扩充和维护</p>
</li>
<li><p>缺点：效率降低，必须在每层之间建立通讯机制</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p>\2. 客户服务器模式</p>
<ul>
<li><p>交互过程：</p>
<ul>
<li><p>客户发送请求信息</p>
</li>
<li><p>服务器接收信息</p>
</li>
<li><p>服务器回送信息</p>
</li>
<li><p>客户机接收信息</p>
</li>
</ul>
</li>
<li><p>优点：</p>
<ul>
<li><p>数据的分部处理和存储</p>
</li>
<li><p>便于集中管理</p>
</li>
<li><p>灵活性和可扩充性</p>
</li>
<li><p>易于改变应用软件</p>
</li>
</ul>
</li>
<li><p>缺点是㛮不可靠性和瓶颈问题</p>
</li>
</ul>
</li>
<li><p>\3. 面向对象的程序设计</p>
<ul>
<li><p>对象：现实世界中存在相同属性服从相同规则的一系列事物</p>
</li>
<li><p>优点：</p>
<ul>
<li><p>提高产品质量和生产率</p>
</li>
<li><p>是系统有更好的易修改性和易扩展性</p>
</li>
<li><p>易保证系统正确性和可靠性</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p>\4. 微内核OS结构</p>
<ul>
<li><p>支持多处理机运行，适用于分布式系统环境</p>
</li>
<li><p>基本理念：</p>
<p>操作系统可以划分为微内核和多个服务器</p>
<ul>
<li><p>足够小的内核：实现现代OS的最基本核心功能</p>
<ul>
<li><p>与硬件处理紧密相关的部分</p>
</li>
<li><p>较为基本的功能</p>
</li>
<li><p>客户和服务器之间的通信</p>
</li>
</ul>
</li>
<li><p>客户服务器模式：</p>
<ul>
<li>这个模式作为进程实现，借助微内核的信息传递交互</li>
</ul>
</li>
<li><p>采用面向对象技术</p>
</li>
</ul>
</li>
<li><p>微内核基本功能</p>
<p>（这部分没详细整理。。）</p>
<ul>
<li><p>进程管理</p>
</li>
<li><p>低级存储器管理</p>
</li>
<li><p>中断和陷入处理</p>
</li>
</ul>
</li>
<li><p>优点：</p>
<ul>
<li><p>提高了软件的可扩展性</p>
</li>
<li><p>增强了系统的可靠性</p>
</li>
<li><p>可移植性强</p>
</li>
<li><p>提供了对分布式系统的支持</p>
</li>
<li><p>融入了面向对象技术</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>

            </div>
            
                <div class="kratos-copyright text-center clearfix">
                    <h5>本作品采用 <a rel="license nofollow" target="_blank" href="http://creativecommons.org/licenses/by-sa/4.0/">知识共享署名-相同方式共享 4.0 国际许可协议</a> 进行许可</h5>
                </div>
            
            <footer class="kratos-entry-footer clearfix">
                
                    <div class="post-like-donate text-center clearfix" id="post-like-donate">
                    
                        <a class="donate" href="javascript:;"><i class="fa fa-bitcoin"></i> 打赏</a>
                    
                    
                        <a class="share" href="javascript:;"><i class="fa fa-share-alt"></i> 分享</a>
                        <div class="share-wrap" style="display: none;">
    <div class="share-group">
        <a href="javascript:;" class="share-plain qq" onclick="share('qq');" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-qq"></i>
            </div>
        </a>
        <a href="javascript:;" class="share-plain qzone" onclick="share('qzone');" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-star"></i>
            </div>
        </a>
        <a href="javascript:;" class="share-plain weixin pop style-plain" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-weixin"></i>
            </div>
            <div class="share-int">
                <div class="qrcode" id="wechat-qr"></div>
                <p>打开微信“扫一扫”，打开网页后点击屏幕右上角分享按钮</p>
            </div>
        </a>
        <a href="javascript:;" class="share-plain weibo" onclick="share('weibo');" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-weibo"></i>
            </div>
        </a>
        <a href="javascript:;" class="share-plain facebook style-plain" onclick="share('facebook');" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-facebook"></i>
            </div>
        </a>
        <a href="javascript:;" class="share-plain twitter style-plain" onclick="share('twitter');" rel="nofollow">
            <div class="icon-wrap">
                <i class="fa fa-twitter"></i>
            </div>
        </a>
    </div>
    <script type="text/javascript">
        $(()=>{
            new QRCode("wechat-qr", {
                text: "http://algarth.github.io/2021/10/30/OS/",
                width: 150,
                height: 150,
                correctLevel : QRCode.CorrectLevel.H
            });
        });
        function share(dest) {
            const qqBase        = "https://connect.qq.com/widget/shareqq/index.html?";
            const weiboBase     = "https://service.weibo.com/share/share.php?";
            const qzoneBase     = "https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?";
            const facebookBase  = "https://www.facebook.com/sharer/sharer.php?";
            const twitterBase   = "https://twitter.com/intent/tweet?";
            const hostUrl       = "http://algarth.github.io/2021/10/30/OS/";
            const title         = "「OS第一章」";
            const excerpt       = `
第一章：操作系统概述

操作系统
操作系统会被加载到RAM内

定义：

一组能有效的组织和管理计算机硬件和软件资源，合理的对各类作业进行调度，以及方便用户使用的程序的集合


目标：

（重要目标）1. 方便性：允许用户使用高级指...`;
            let _URL;
            switch (dest) {
                case "qq"       : _URL = qqBase+"url="+hostUrl+"&title="+title+"&desc=&summary="+excerpt+"&site=cxpy";     break;
                case "weibo"    : _URL = weiboBase+"url="+hostUrl+"&title="+title+excerpt;                                 break;
                case "qzone"    : _URL = qzoneBase+"url="+hostUrl+"&title="+title+"&desc=&summary="+excerpt+"&site=cxpy";  break;
                case "facebook" : _URL = facebookBase+"u="+hostUrl;                                                        break;
                case "twitter"  : _URL = twitterBase+"text="+title+excerpt+"&url="+hostUrl;                                break;
            }
            window.open(_URL);
        };
    </script>
</div>
                    
                    </div>
                
                <div class="footer-tag clearfix">
                    <div class="pull-left">
                    <i class="fa fa-tags"></i>
                        <a class="tag-none-link" href="/tags/OS/" rel="tag">OS</a>
                    </div>
                    <div class="pull-date">
                    <span>最后编辑：2021-10-30</span>
                    </div>
                </div>
            </footer>
        </div>
        
            <nav class="navigation post-navigation clearfix" role="navigation">
                
                <div class="nav-previous clearfix">
                    <a title=" 计网第一章" href="/2021/10/23/cnet/">&lt; 上一篇</a>
                </div>
                
                
                <div class="nav-next clearfix">
                    <a title=" 小范围开源期末材料" href="/2021/12/23/tmp/">下一篇 &gt;</a>
                </div>
                
            </nav>
        
        
    </article>
</section>
        </div>
                
            <section id="kratos-widget-area" class="col-md-4 hidden-xs hidden-sm">
                
                    <aside id="krw-about" class="widget widget-kratos-about clearfix">
    
    <div class="photo-background"></div>
    <div class="photo-wrapper clearfix">
        <div class="photo-wrapper-tip text-center">
            <img class="about-photo" src="/images/avatar.webp" />
        </div>
    </div>
    <div class="textwidget">
        
            <p class="text-center">一位c--爆零大师，本科学的JVAV，内卷的美学，摸鱼的艺术。永远喜欢Bjarne Stroustrup和他的光头</p>
        
    </div>
</aside>
                
                    <!-- Moved to about.ejs -->
                
                    

                
                    
  <aside id="krw-tags" class="widget widget-kratos-tags clearfix">
    <h4 class="widget-title"><i class="fa fa-tags"></i>标签聚合</h4>
      <div class="tag-clouds">
        <a href="/tags/OS/" style="font-size: 0.6em;">OS</a> <a href="/tags/c-%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E4%B8%8D%E5%85%A5%E9%97%A8/" style="font-size: 0.7em;">c++从入门到不入门</a> <a href="/tags/priority-queue/" style="font-size: 0.6em;">priority_queue</a> <a href="/tags/projectpool/" style="font-size: 0.6em;">projectpool</a> <a href="/tags/tmp/" style="font-size: 0.6em;">tmp</a> <a href="/tags/trailer/" style="font-size: 0.7em;">trailer</a> <a href="/tags/update/" style="font-size: 0.6em;">update</a> <a href="/tags/%E5%89%8D%E8%A8%80/" style="font-size: 0.6em;">前言</a> <a href="/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86/" style="font-size: 0.8em;">计算机组成原理</a> <a href="/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86%E6%B1%87%E6%80%BB/" style="font-size: 0.6em;">计算机组成原理汇总</a> <a href="/tags/%E8%AE%A1%E7%BD%91/" style="font-size: 0.6em;">计网</a>
      </div>
  </aside>

                
                    
  <aside id="krw-posts" class="widget widget-kratos-poststab">
  <h4 class="widget-title"><i class="fa fa-file"></i>最新文章</h4>
  <div class="tab-content">
      <ul class="list-group">
        
        
          
          
            <a class="list-group-item" href="/2021/12/23/tmp/"><i class="fa  fa-book"></i> 小范围开源期末材料</a>
            
          
        
          
          
            <a class="list-group-item" href="/2021/10/30/OS/"><i class="fa  fa-book"></i> OS第一章</a>
            
          
        
          
          
            <a class="list-group-item" href="/2021/10/23/cnet/"><i class="fa  fa-book"></i> 计网第一章</a>
            
          
        
          
          
        
          
          
            <a class="list-group-item" href="/2021/10/19/projectpool/"><i class="fa  fa-book"></i> 计划进程池设定</a>
            
          
        
          
          
        
          
          
            <a class="list-group-item" href="/2020/12/31/organization-ex/"><i class="fa  fa-book"></i> 计算机组成原理汇总篇</a>
            
          
        
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
          
            
      </ul>
  </div>
  </aside>

                
            </section>
        
        </div>
    </div>
</div>
<footer>
    <div id="footer">
        <div class="kr-tool text-center">
            <div class="tool">
                
                    <div class="box search-box">
                        <a href="/search/">
                            <span class="fa fa-search"></span>
                        </a>
                    </div>
                
                
                    <div class="box theme-box" id="darkmode-switch">
                        <span class="fa fa-adjust"></span>
                    </div>
                
                
            </div>
            <div class="box gotop-box">
                <span class="fa fa-chevron-up"></span>
            </div>
        </div>
        <div class="container">
            <div class="row">
                <div class="col-md-6 col-md-offset-3 footer-list text-center">
                    <ul class="kratos-social-icons">
                        
                        <li><a href="mailto:algarth@163.com"><i class="fa fa-envelope"></i></a></li>
                        
                        
                        
                        
                        
                        <li><a target="_blank" rel="nofollow" href="https://github.com/ALgarth"><i class="fa fa-github"></i></a></li>
                        
                    </ul>
                    <ul class="kratos-copyright">
                        <div>
                            <li>&copy; 2022 ALgarth 版权所有.</li>
                            <li>本站已运行<span id="span_dt">Loading...</span></li>
                        </div>
                        <div>
                            <li>Theme <a href="https://github.com/Candinya/Kratos-Rebirth" target="_blank">Kratos:Rebirth</a></li>
                            <li>Made with&nbsp;<i class="fa fa-heart throb" style="color:#d43f57"></i>&nbsp;by <a href="https://candinya.com" target="_blank" rel="nofollow">Candinya</a>.</li>
                        </div>
                        <div>
                            <li>Powered by <a href="https://hexo.io" target="_blank" rel="nofollow">Hexo</a></li>
                            <li>Hosted on <a href="https://github.io" target="_blank">Github Pages</a></li>
                        </div>
                        <div>
                            
                            
                        </div>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</footer>
</div>
</div>

        <script defer src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.4/dist/js/bootstrap.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/nprogress@0.2.0/nprogress.js"></script>
<script>const notMobile = (!(navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)));</script>

    <div>
        <canvas id="snow"></canvas>
        <script async type="text/javascript" src="/js/snow.min.js"></script>
    </div>

<script async src="/js/candy.min.js"></script>


    <script defer src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>

<script defer src="https://cdn.jsdelivr.net/npm/clipboard@2.0.6/dist/clipboard.min.js"></script>
<script defer src="/js/kratosr.min.js"></script>
<script defer src="/js/pjax.min.js"></script>

    <script defer src="https://cdn.jsdelivr.net/npm/layui-src@2.5.5/dist/layui.all.js"></script>


    <script defer src="/js/kr-dark.min.js"></script>


    </body>
</html>